python中对象,类,函数,方法,包,库和模块等区别

一,对象和类
Python是面向对象程序设计(Object Oriented Programming, OOP),其思想主要针对大型软件设计而提出。
其软件设计更加灵活,能够很好地支持代码复用和设计复用。
并且使得代码具有更好的可读性和可扩展性。

面向对象程序设计的思路:
比如生产一台计算机,不是按顺序生产每一个部件,而是分别生产各个部件,然后再将其组装起来,这些部件通过设计好的接口连接,以便协调工作。

现实生活的每个相对独立的事物都可以看作一个对象。如一个人,一辆车
对象是具有某些特性和功能的具体事物的抽象。都具有描述其特征的属性及附属于它的行为。如一辆车有颜色等属性,一个人有姓名等属性。

每个对象都有一个类,类是创建对象实例的模板,是对对象的抽象和概括。
它包含对所创建对象的属性描述和行为特征的定义。

定义

创建类时用变量形式表示的对象属性称为数据成员或属性(成员变量)。
用函数形式表示的对象行为称为成员函数(成员方法)。
成员属性和成员方法统称为类的成员。

  class 类名:
        属性(成员变量)
        属性 
        ...
        成员函数(成员方法)

对象 = 属性(特征) + 方法(行为)

python中具有相同属性和方法的对象归为一个类(class)

类是对象的抽象化,对象是类的实例化。

对象的创建

  对象名 = 类名()

所有类都有一个名为__init__()的函数,它始终在启动类时执行。
使用__init__()函数将值赋给对象属性。

对象也可以包含方法。对象中的方法属于该对象的函数。

实例 创建Person类

  class Person:
        def __init__(self,name,age):
              self.name = name
              self.age = age

        def myfunc(self):
              print('Hello my name is' + self.name)

  p1 = Person('Bill',63)


  p1.myfunc()
  print(p1,name)
  print(p1.age)

二,函数和方法
1,函数的分类
内置函数:python内嵌的一些函数

  匿名函数:一行代码实现一个函数功能

  递归函数:直接或间接调用函数本身的函数

  自定义函数

2,方法分类

  普通方法:直接用self调用的方法

  私有方法:_函数名,只能在类中被调用的方法

  属性方法:@property,将方法伪装成为属性,让代码看起来更合理

  特殊方法(双下划线):用来封装实例化对象的属性,如__init__

  类方法:通过类名的调用去操作公共模板中的属性和方法

  静态方法:不用传入类空间、对象的方法。 可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中

函数作用域:

  从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放。
  也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调用者后,开辟的空间会自动释放。

方法作用域:

  通过实例化的对象进行方法的调用,调用后开辟的空间不会释放。也就是说调用方法中对变量的修改值会一直保留。

函数:通过“函数名()”的方式进行调用。
方法:通过“对象.方法名”的方式进行调用。

三,包,模块和库

包:

  在模块之上的概念,为了方便管理而将文件进行打包。
  包目录下第一个文件便是 __init__.py,然后是一些模块文件和子目录,假如子目录中也有 __init__.py,那么它就是这个包的子包

package_a
├── init.py
├── module_a1.py
└── module_a2.py

模块:

  就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块。

库:

  具有相关功能模块的集合。分为标准库、第三方库以及自定义模块

  标准库:就是下载安装的python里那些自带的模块(python安装后自带的库)

  第三方库:就是由其他的第三方机构,发布的具有特定功能的模块(python安装后需要下载安装的库)

  自定义模块:用户自己可以自行编写模块,然后使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值